home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1997 December / macformat-057.iso / mac / Shareware Plus / Developer / c++advio / ANSI #includes addenda / builtin.h next >
Encoding:
Text File  |  1997-03-31  |  833 b   |  56 lines  |  [TEXT/CWIE]

  1. // This may look like C code, but it is really -*- C++ -*-
  2. /*
  3.   arithmetic, etc. functions on built in types
  4. */
  5.  
  6. #ifndef _builtin_h
  7. #ifdef __GNUG__
  8. #pragma interface
  9. #endif
  10. #define _builtin_h 1
  11.  
  12. inline double abs(const double arg)
  13. {
  14.   return (arg < 0.0)? -arg : arg;
  15. }
  16.  
  17. inline float abs(const float arg)
  18. {
  19.   return (arg < 0.0)? -arg : arg;
  20. }
  21.  
  22. inline short abs(const short arg)
  23. {
  24.   return (arg < 0)? -arg : arg;
  25. }
  26.  
  27. inline long abs(const long arg)
  28. {
  29.   return (arg < 0)? -arg : arg;
  30. }
  31.  
  32. inline double sqr(const double arg)
  33. {
  34.   return arg * arg;
  35. }
  36.  
  37. inline long sqr(const long arg)
  38. {
  39.   return arg * arg;
  40. }
  41.  
  42. inline float sqr(const float arg)
  43. {
  44.   return arg * arg;
  45. }
  46.  
  47. #ifndef M_PI
  48. #  define M_PI          3.14159265358979323846
  49. //#define M_PI    _PI
  50. #endif
  51.  
  52. inline double hypot(const double a, const double b)
  53. { return sqrt(a*a+b*b); }
  54.  
  55. #endif
  56.